﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Allan.Cards
{
    public abstract class Player
    {
        public virtual string Name { get; protected set; }

        protected CardCollection hand;


        /// <summary>
        /// Called when a new game is started
        /// </summary>
        /// <param name="g"></param>
        public virtual void PlayerNewGameInit(Game g)
        {

        }

        /// <summary>
        /// Called whenever it's the players turn
        /// </summary>
        /// <param name="g"></param>
        public virtual void PlayerTurn(Game g)
        {

        }

        public virtual void DealCard(Card c){
            hand.Add(c);
        }

        public Player(string Name)
        {
            this.Name = Name;
            hand = new CardCollection();
        }
    }
}
